import request from '@/utils/http'

// 与后端 DictItemResponse 对齐
export interface DictItemResponse {
    id?: number
    dict_key: string
    dict_value: string
    dict_type: string
    category?: string | null
    score?: number
    options?: string
    sort_order?: number
    create_time?: string
    update_time?: string
    [key: string]: any
}

// 列表响应
export interface DictItemListResponse {
    total: number
    items: DictItemResponse[]
    page: number
    size: number
    pages: number
}

// 创建/更新请求体（与后端 schema 对齐）
export interface DictItemCreate {
    dict_key: string
    dict_value: string
    dict_type: string
    category?: string | null
    score?: number
    options?: string
    sort_order?: number
}

export interface DictItemUpdate {
    dict_key?: string
    dict_value?: string
    dict_type?: string
    category?: string | null
    score?: number
    options?: string
    sort_order?: number
}

// 查询参数（与后端 DictItemQuery 对齐），注意 current 是 page 的别名
export interface DictItemQuery {
    current?: number
    size?: number
    dict_type?: string
    dict_key?: string
    dict_value?: string
    category?: string
    keyword?: string
}

/**
 * 创建字典项
 */
export function createDictItem(params: DictItemCreate) {
    return request.post<DictItemResponse>({
        url: '/system/dict-items/create',
        params,
        showSuccessMessage: true
    })
}

/**
 * 获取字典项列表（分页）
 */
export function fetchDictItemList(params: DictItemQuery) {
    return request.post<DictItemListResponse>({
        url: '/system/dict-items/list',
        params
    })
}

/**
 * 更新字典项
 */
export function updateDictItem(itemId: number, params: DictItemUpdate) {
    return request.put<DictItemResponse>({
        url: `/system/dict-items/${itemId}`,
        params,
        showSuccessMessage: true
    })
}

/**
 * 删除字典项
 */
export function deleteDictItem(itemId: number) {
    return request.del<{ message: string }>({
        url: `/system/dict-items/${itemId}`,
        showSuccessMessage: true
    })
}